package cn.chenxing.domain.outlierdtect;

import lombok.Data;
import lombok.experimental.Accessors;

import java.util.ArrayList;
import java.util.List;

/**
 * @Description 用于离群点检测的数据点
 * @Author maogen.ymg
 * @Date 2020/4/16 20:11
 */
@Data
@Accessors(chain = true)
public class DataNode {
    /**
     * 样本点名
     */
    private int nodeId;
    /**
     * 样本点的维度
     */
    private double[] dimension;
    /**
     * k-距离
     */
    private double kDistance;
    /**
     * k-邻域
     */
    private List<DataNode> kNeighbor = new ArrayList<>();
    /**
     * 到给定点的欧几里得距离
     */
    private double distance;
    /**
     * 可达密度
     */
    private double reachDensity;
    /**
     * 可达距离
     */
    private double reachDist;
    /**
     * 局部离群因子
     */
    private double lof;
    /**
     * 是否为离散点
     */
    private String isOutlierNode;

    //-----------用于表格展示-----------
    /**用户ID**/
    private long id;
    /**经度**/
    private double longitude;
    /**纬度**/
    private double latitude;
    /**时间**/
    private String time;
    /**速度**/
    private double speed;

    public DataNode(int nodeId, double[] dimension) {
        this.nodeId = nodeId;
        this.dimension = dimension;
    }
}
